<!--
*
* Copyright 2015 HISP Tanzania
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
* @since 2015
* @author Joseph Chingalo profschingalo@gmail.com>
*
*
-->
<ion-header>

  <ion-navbar [color]="(colorSettings$ |async).colorAttributes.main">
    <ion-title>
      <span [translate]="'Profile'"></span>
    </ion-title>
  </ion-navbar>

</ion-header>


<ion-content>

  <ion-grid>
    <div *ngIf="isLoading">
      <loading [loadingSize]="'large'" [loadingMessage]="loadingMessage"></loading>
    </div>

    <div *ngIf="!isLoading">
      <div class="item-card" *ngFor="let profileContent of profileContents;trackBy: trackByFn">
        <ion-row (tap)="toggleProfileContents(profileContent)">
          <ion-col col-11>
            <img class="side-menu-icon" [src]="profileContent.icon" />&nbsp;&nbsp;
            <span ion-text [color]="(isProfileContentOpen[profileContent.id]) ?'current' : 'font-color'">
              <span [translate]="profileContent.name"></span>
            </span>
          </ion-col>
          <ion-col col-1 item>
            <div style="text-align: center;">
              <ion-icon [color]="(isProfileContentOpen[profileContent.id]) ?'current' : 'font-color'" *ngIf="!(isProfileContentOpen[profileContent.id])"
                name="ios-arrow-down" item-right></ion-icon>
              <ion-icon [color]="(isProfileContentOpen[profileContent.id]) ?'current' : 'font-color'" *ngIf="(isProfileContentOpen[profileContent.id])"
                name="ios-arrow-up" item-right></ion-icon>
            </div>
          </ion-col>
        </ion-row>
        <div *ngIf="(isProfileContentOpen[profileContent.id])">
          <hr>
          <ion-row>
            <ion-col>
              <div *ngIf="profileContent.id == 'userProfile'">
                <profile-info (onProfileInfoUpdate)="updateProfileInformation($event)" [profileInfoForm]="profileInfoForm"
                  [dataValuesSavingStatusClass]="dataValuesSavingStatusClass" [barcodeSettings]="barcodeSettings"
                  [dataEntrySettings]="dataEntrySettings" [data]="userData[profileContent.id]" [currentUser]="currentUser"></profile-info>
              </div>
              <div *ngIf="profileContent.id == 'accountSetting'">
                <profile-password (onUpdateUserPassword)="updateUserPassword($event)" (onChangePasswordFormField)="passwordFormFieldUpdate($event)"
                  [colorSettings]="colorSettings$ |async" [isPasswordFormValid]="isPasswordFormValid"
                  [isUserPasswordUpdateProcessActive]="isUserPasswordUpdateProcessActive" [barcodeSettings]="barcodeSettings"
                  [dataEntrySettings]="dataEntrySettings" [currentUser]="currentUser"></profile-password>
              </div>
              <div *ngIf="userData && userData[profileContent.id]">
                <div *ngIf="profileContent.id == 'orgUnits' ||profileContent.id == 'roles' || profileContent.id == 'program' || profileContent.id == 'form'">
                  <div *ngFor="let data of userData[profileContent.id];let currentIndex = index">
                    <div class="content">{{ currentIndex + 1 }}&nbsp;.&nbsp;{{ data}}</div>
                  </div>
                </div>
              </div>
            </ion-col>
          </ion-row>
        </div>
      </div>
    </div>
  </ion-grid>

</ion-content>
